/*    
    内联函数 做法：
        1. 检查函数，确定它不具有多态性
            -- 如果该函数属于一个类，且有子类继承了这个函数，那么就无法内联。
        2. 找出这个函数的所有调用点。
        3. 将这个函数的所有调用点都替换为函数本体。
        4. 每次替换之后，执行测试。
            -- 不必一次完成整个内联操作。如果某些调用点比较难以内联，可以等到时机成熟后再来处理。
        5. 删除该函数的定义。
*/

function rating(aDriver) {
    return moreThanFiveLateDeliveries(aDriver) ? 2 : 1;
}

function moreThanFiveLateDeliveries(aDriver) {
    return aDriver.numberOfLateDeliveries > 5;
}

/********************** 内联函数后 ***************************** */
function rating(aDriver) {
    return aDriver.numberOfLateDeliveries > 5 ? 2 : 1;
}
